Ad hoc message sharing between email and social networks

ABSTRACT

There are provided a system, a method and a computer program product for sharing messages between an email client and a social network. The system prepares, based on an input from a sender, an email message by using the email client. The system identifies a portion of the email message to be shared with one or more users in the social network. The system tags the portion of the email message with identities of the one or more users in the social network. The system accesses the social network with credential of the sender. The system posts the portion of the email message on social network pages of the one or more users under a name of the sender.

BACKGROUND

This disclosure relates generally to managing email messages, andparticularly to posting a portion of an email message to a socialnetwork as one or more postings.

BACKGROUND OF THE INVENTION

It is difficult for a user to share an email with others in ad hocmanner (i.e., not planned in advance but performed for a particularpurpose). The most common way of sharing an email is to forward an emailto another user who may need to know the email. Even though thisforwarding of an email solves the problem (i.e., sharing an email withother users), a user that was copied (“cc” feature in an email client)on the email has to manually manage (e.g., delete, further forward,etc.) the email that was shared with him/her. Currently, a user is onlyallowed to automatically forward full email content to the individualsor the groups. A traditional email forwarding process is not flexible(i.e., can forward only full content of email) and is behind currenttechnical savvy social network capabilities (e.g., making comments on aphotograph, etc.). The user manually indicates the receivers' fulle-mail addresses in order to send the full content of the email.

SUMMARY

There are provided a system, a method and a computer program product forsharing messages between an email client and a social network. In oneembodiment, the system prepares, based on an input from a sender, anemail message by using the email client. The system identifies a portionof the email message to be shared with one or more users in the socialnetwork. The system tags the portion of the email message withidentities of the one or more users in the social network. The systemaccesses the social network with credential of the sender. The systemposts the portion of the email message on social network pages of theone or more users under a name of the sender.

The system sends the email message to the recipients. The system poststhe portion of the email message on the social network pages, whereinthe sending the email message and the posting occur concurrently.

In one embodiment, the method for sharing messages between an emailclient and a social network comprises preparing an email message, basedon an input from a sender, by using the email client. A portion of theemail message to be shared with one or more users in the social networkis identified. The portion of the email message is tagged withidentities of the one or more users in the social network. The socialnetwork is accessed with credential of the sender. The portion of theemail message is posted on social network pages of the one or more usersunder a name of the sender.

In one embodiment, the computer program product for sharing messagesbetween an email client and a social network comprises a computerreadable storage medium. The computer readable storage medium isreadable by a processing circuit and stores instructions run by theprocessing circuit. The instructions prepare, based on an input from asender, an email message by using the email client. The instructionsidentify a portion of the email message to be shared with one or moreusers in the social network. The instructions tag the portion of theemail message with identities of the one or more users in the socialnetwork. The instructions access the social network with credential ofthe sender. The instructions post the portion of the email message onsocial network pages of the one or more users under a name of thesender.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects, features and advantages of the presentinvention will become apparent from the following detailed descriptionof illustrative embodiments thereof, which is to be read in connectionwith the accompanying drawings, in which:

FIG. 1 illustrates a flowchart that describes a method for sharingmessages between an email client and a social network in one embodiment;

FIG. 2 illustrates exemplary hardware configurations for performing amethod shown in FIG. 1 in one embodiment;

FIG. 3 illustrates another flowchart that describes a method for sharingmessages between an email client and a social network in one embodiment;

FIG. 4A illustrates an exemplary tag attached on a portion of an emailmessage in one embodiment; and

FIG. 4B illustrates an exemplary posting posted on a social network inone embodiment.

DETAILED DESCRIPTION

In one embodiment, there are provided a system, a method and a computerprogram product for sharing a portion (or a section) of an email messagein an ad hoc manner, e.g., by tagging the portion of the email messagewith identities (e.g., names, email addresses, etc.) of one or moreusers in a social network. The social network refers to herein acomputer platform or service that allows users to communicate online,e.g., by building relationships among the users who share interests andbackgrounds, etc. The system (e.g., a computing system shown in FIG. 2)publishes the tagged portion of the email message on the social network,e.g., by posting the tagged portion on the social network pages of theone or more social network users. The system allows the sender of theemail message to automatically send certain section(s) of the emailmessages to the recipients of the email message who are indicated on theemail message. At the same time, the system also automatically sends thetagged portion to the one or more social network users, e.g., by postingthe tagged portion on social network pages of the one or more socialnetwork users.

In one embodiment, by posting the tagged portion of the email message onthe social network, the system allows the tagged portion of the emailmessage to be shared in the social network. A sender of the emailmessage may only write the email message, e.g., by using an emailclient. The system distributes the entire or portion of the emailmessage to the recipients indicated on the email message and to thesocial network users concurrently. In one embodiment, some or all of therecipients and some or all of the social network users may overlap. Inanother embodiment, the recipients and the social network users may beentirely different. In one embodiment, the social network users may bemembers of different social networks. In one embodiment, the systemsends the entire or portion of the email message to the recipients. Atthe same time, the system posts the entire or portion of the emailmessage on social network pages of the social network users.

FIG. 1 illustrates a flowchart that describes a method for sharingmessages between an email client and a social network in one embodiment.FIG. 3 illustrates another flowchart that describes a method for sharingmessages between the email client and that social network. At 100 inFIG. 1, a sender prepares an email message, e.g., by using the emailclient. At 110 in FIGS. 1 and 300 in FIG. 3, the sender or the systemidentifies a portion of the email message to be shared with one or moreusers in the social network, e.g., by dragging a mouse device, etc. At120 in FIGS. 1 and 305 in FIG. 3, the system tags the identified portionof the email message with identities (e.g., email addresses, etc.) ofthe one or more users in the social network. The system mayautomatically copy or capture the tagged portion of the email message asa character stream. FIG. 4A illustrates an example tagged portion 400 ofan example message. The example tagged portion indicates one or moreidentities of social network users 405. At 130 in FIGS. 1 and 310 inFIG. 3, the system automatically accesses the social network withcredential of the sender, e.g., login ID and password of the sender. At140 in FIGS. 1 and 315 in FIG. 3, the system posts the tagged portion ofthe email message on social network pages of the one or more users undera name of the sender. For example, the system pastes the copied orcaptured portion of the email message on a pre-defined social networkposting template. There may exist a plurality of pre-defined socialnetwork posting templates. The system may randomly choose a pre-definedsocial network posting template among the plurality of the templates. Aserver hosting the social network publishes the template with the copiedor capture portion of the email message as one or more postings on thesocial network pages of the social network users. FIG. 4B illustrates anexample social network posting template 410 with the copied or capturedportion 415 of the email message. By pasting the copied or capturedportion of the email message on the template, the copied or capturedportion of the email message is converted to a posting on the socialnetwork pages. In one embodiment, the posting includes, but is notlimited to: a status message, a private message, an event or activitymessage, which represents the portion of the email message.

In one embodiment, the copied or captured portion of the email messagecan be sent to a plurality of social networks, when the social networkusers, who are identified in the tagged portion, do not use the samesocial network. The system maintains a list of contacts andrelationships of the sender for each social network he/she belongs to.The system looks up each social network where a relationship existsbetween the sender and each social network user identified in the taggedportion. The system sends the copied or capture portion of the emailmessage to one or more social network in which each identified socialnetwork user belongs to. In one embodiment, the copied or captureportion of the email message can be sent to a plurality of socialnetworks with different social network posting templates. In oneembodiment, the email message include a plurality of tagged portionswith duplicated or different social network users.

A tag attached on the portion of the email message may include, but isnot limited to:

-   -   (1) a name of the tag which represents a predefined set of        social network users;    -   (2) a type of the social network;    -   (3) a key phrase of the portion, e.g., which is obtained by        running a known electronic summary technique on the portion of        the email message; and    -   (4) a title of the portion, e.g., which is obtained by running        the same or different electronic summary technique on the        portion of the email message.

In one embodiment, the system stores, e.g., in a server or computingdevice hosting the email client, the portion of the email message withthe tag as metadata of the portion. In one embodiment, the systemaccesses an instant messenger with credential of the sender. The systemdetermines whether the one or more social network users are currentlylogged in the instant messenger. The system sends, by using the instantmessenger, an instant message that includes the portion of the emailmessage to the one or more social network users.

In one embodiment, a user opens an email message, e.g., by using theemail client. The user selects a portion(s) of the email message, e.g.,by dragging a mouse device, etc. The system adds a set of shareable tags(e.g., email addresses of one or more social network users, names of theone or more social network users, etc.) on the portion(s) of the emailmessage, e.g., by adding the email addresses of the social network usersat the end of the portion. Based on the shareable tags added on theportion(s) of the email message, one or more social network posting,which includes the portion(s) of the email message, are posted on thesocial network pages of the social network users. Alternatively, thesystem sends the portion(s) of the email messages to the social networkusers, e.g., by using email or instant message, etc. An email server,with access to the sender's email, posts the portion(s) on the socialnetwork pages as one or more postings.

The following describes an example scenario that employs the methodsshown in FIGS. 1 and 3.

-   -   1. A user opens an email message in his or her email client.    -   2. The user selects a portion of the email they want to share        with social network users.    -   For example, the user right-clicks, on a mouse device, on the        portion of the email message, and chooses a “share” menu (not        shown). Then, the system displays, e.g., on a display device,        etc., the “share” menu as follows:    -   i) a tag name which specifies a predefined set of social network        users who may share the portion with the user;    -   ii) a media that can be used to publish the portion to the        social network pages. The example media includes, but is not        limited to: a corresponding social network(s), an email        client(s), an instant messenger, etc.;    -   iii) a social network user, or set of social network users, or        predefined group to share the portion with;    -   iv) a key phrase found within the portion, e.g., by using a        known electronic summary technique on the portion;    -   v) an indication used to find similar content of the portion in        a future email message or a future posting, e.g., by using a        text mining technique; and    -   vi) a title—the title for the portion selected.    -   3. The user selects a “save tag” menu (not shown), which        highlights the tagged portion and indicates where that portion        is to be sent or posted.    -   4. The user chooses a “publish menu” to share that portion or        publish the portion on the social network pages.    -   5. The system sends the portion to the social network users or        posts the portion on the social network pages of the social        network users.

Depending on a social network posting template selected by the sender,the social network users (indicated on the tag of the email message) canreceive the same single posting or each different posting. For example,the system may choose each different template to include the portion(s)and sends the each different template with the portion(s) to eachdifferent user. Alternatively, the system posts the each differenttemplate with the portion(s) on corresponding social network pages. Inone embodiment, the system automatically extracts a portion of the emailmessage selected by the sender and automatically forwards the selectedextracted portion to the social network users, e.g., by using email.

In one embodiment, a computing system may run the method illustrated inFIG. 1. FIG. 2 illustrates examples of the computing system. Examples ofthe computing system may include, but are not limited to: a parallelcomputing system 200 including at least one processor 255 and at leastone memory device 270, a mainframe computer 205 including at least oneprocessor 256 and at least one memory device 271, a desktop computer 210including at least one processor 257 and at least one memory device 272,a workstation 215 including at least one processor 258 and at least onememory device 273, a tablet computer 220 including at least oneprocessor 256 and at least one memory device 274, a netbook computer 225including at least one processor 260 and at least one memory device 275,a smartphone 230 including at least one processor 261 and at least onememory device 276, a laptop computer 235 including at least oneprocessor 262 and at least one memory device 277, a physical server 240including at least one processor 261 and at least one memory device 278,a software server 280, e.g., web server, HTTP server, applicationserver, or a wearable computer 285, e.g., smartwatch, etc., including atleast one processor 290 and at least one memory device 295.

In one embodiment, the methods shown in FIGS. 1 and 3 may be implementedas hardware on a reconfigurable hardware, e.g., FPGA (Field ProgrammableGate Array) or CPLD (Complex Programmable Logic Device), by using ahardware description language (Verilog, VHDL, Handel-C, or System C). Inanother embodiment, the method shown in FIG. 1 may be implemented on asemiconductor chip, e.g., ASIC (Application-Specific IntegratedCircuit), by using a semi custom design methodology, i.e., designing asemiconductor chip using standard cells and a hardware descriptionlanguage.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

While the invention has been particularly shown and described withrespect to illustrative and preformed embodiments thereof, it will beunderstood by those skilled in the art that the foregoing and otherchanges in form and details may be made therein without departing fromthe spirit and scope of the invention which should be limited only bythe scope of the appended claims.

What is claimed is:
 1. A method for sharing messages between an emailclient and a social network, the method comprising: preparing, based onan input from a sender, an email message by using the email client;identifying a portion of the email message to be shared with one or moreusers in the social network; tagging the portion of the email messagewith identities of the one or more users in the social network;accessing the social network with credential of the sender; and postingthe portion of the email message on social network pages of the one ormore users under a name of the sender, wherein a processor connected toa memory device is configured to perform the preparing, the identifying,the tagging, the accessing and the posting.
 2. The method according toclaim 1, wherein recipients of the email message and the one or moreusers are different.
 3. The method according to claim 1, wherein thetagging includes one or more of: a name of the tagging which representsa predefined set of social network users; a type of the social network;a key phrase of the portion; and a title of the portion.
 4. The methodaccording to claim 1, further comprising: storing, in a server device,the portion of the email message with the tagging.
 5. The methodaccording to claim 1, further comprising: accessing an instant messengerwith credential of the sender; determining whether the one or more usersare currently logged in the instant messenger; and sending, by using theinstant messenger, an instant message that includes the portion of theemail message to the one or more users.
 6. The method according to claim1, wherein the posting on the social network pages includes one or moreof: a status message, a private message, an event or activity message,which represent the portion of the email message.
 7. The methodaccording to claim 2, further comprising: sending the email message tothe recipients; and posting the portion of the email message on thesocial network pages, wherein the sending the email message and theposting occur concurrently.
 8. The method according to claim 1, furthercomprising: converting the portion of the email message to the postingon the social network pages.